home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / compuserve-file-archive / 03 Demos and Info / SEESID.BIN (.txt) < prev    next >
Encoding:
Commodore BASIC  |  2019-04-13  |  5.6 KB  |  178 lines

  1. 10 POKE56,32:CLR:GOTO2012
  2. 12 S=54272:V=53248:POKEV+32,5:POKE155,0:SYS49152
  3. 15 FORI=S TOS+24:POKEI,0:NEXT:PRINT"[147]"
  4. 16 PRINT"ENTER FREQUENCY IN HZ (LESS THAN 3995)."
  5. 17 PRINT"(PRESS RETURN FOR 60 HZ.)"
  6. 18 FF=60:PRINT:INPUTFF
  7. 19 IFFF<=0ORFF>3995THENPRINT"OUT OF RANGE":GOTO16
  8. 20 F=16.404391*FF+.5:F%=F/256:FL=F-256*F%
  9. 21 PRINT"PRESS T FOR TRIANGLE WAVE."
  10. 22 PRINT"PRESS S FOR SAWTOOTH WAVE."
  11. 23 PRINT"PRESS R FOR RECTANGULAR WAVE."
  12. 24 PRINT"PRESS N FOR NOISE WAVE."
  13. 25 PRINT"PRESS X FOR POT X."
  14. 26 PRINT"PRESS Y FOR POT Y."
  15. 27 PRINT"PRESS E TO EXIT."
  16. 28 GETA$:IFA$="T"THENW=17:GOTO36
  17. 29 IFA$="S"THENW=33:GOTO36
  18. 30 IFA$="R"THENW=65:GOSUB800:GOTO36
  19. 31 IFA$="X"THENPOKE142,25:POKE187,9:POKE188,194:GOTO500
  20. 32 IFA$="E"THENPOKE56,160:END
  21. 33 IFA$="Y"THENPOKE142,26:POKE187,89:POKE188,194:GOTO500
  22. 34 IFA$="N"THENW=129:GOTO36
  23. 35 GOTO28
  24. 36 PRINT"[147]PRESS W TO VIEW WAVEFORM."
  25. 37 PRINT"PRESS E TO VIEW ENVELOPE."
  26. 39 PRINT"PRESS S TO START OVER."
  27. 40 GETA$:IFA$="E"THENPOKE142,28:POKE187,185:POKE188,193:GOTO150
  28. 41 IFA$="W"THENPOKE142,27:POKE187,105:POKE188,193:GOTO47
  29. 44 IFA$="S"THEN15
  30. 45 GOTO40
  31. 47 PRINT"[147]"
  32. 48 XX=FF/5.56:PRINT"ENTER NUMBER OF CYCLES TO BE VIEWED,"
  33. 49 PRINT"FROM";XX;"TO";20.5*FF;"[157]."
  34. 50 PRINT"(PRESS RETURN FOR MINIMUM.)"
  35. 51 PRINT:INPUTXX
  36. 52 X=XX*3196/FF-.5
  37. 53 IFX<570THENPRINT"TOO LOW":GOTO48
  38. 54 IFX>65535THENPRINT"TOO HIGH":GOTO48
  39. 55 X%=X/256:XL=X-256*X%
  40. 57 POKE56326,XL:POKE56327,X%
  41. 60 PRINT"[147]PRESS S TO START SWEEP."
  42. 61 PRINT"PRESS P FOR PREVIOUS MENU."
  43. 62 PRINT"WHILE WAVEFORM IS DISPLAYED,"
  44. 63 PRINT"PRESS S FOR ADDITIONAL SWEEPS."
  45. 65 PRINT"PRESS P FOR SWEEP SPEED PROMPT."
  46. 67 GETA$:IFA$="S"THEN75
  47. 70 IFA$="P"THEN36
  48. 73 GOTO67
  49. 75 POKES+24,15:POKES+20,240
  50. 77 POKES+14,FL:POKES+15,F%
  51. 79 POKE143,W
  52. 80 POKE155,PEEK(155)+1:SYS49161
  53. 85 GETA$:IFA$="P"THEN110
  54. 95 IFA$="S"THEN80
  55. 100 GOTO85
  56. 110 POKEV+17,27:POKEV+24,20:PRINT"[147]";
  57. 120 POKES+18,W-1:GOTO47
  58. 150 PRINT"[147]"
  59. 155 P=4:PRINT"ENTER ATTACK TIME."
  60. 157 PRINT"(0 TO 15.  PRESS RETURN FOR 4)."
  61. 158 PRINT:INPUTP
  62. 160 J%=P:GOSUB900:IFJ%=.THEN155
  63. 165 D=4:PRINT"ENTER DECAY TIME."
  64. 167 PRINT"(0 TO 15.  PRESS RETURN FOR 4)."
  65. 168 PRINT:INPUTD
  66. 170 J%=D:GOSUB900:IFJ%=.THEN165
  67. 172 AD=16*P+D
  68. 175 Q=12:PRINT"ENTER SUSTAIN LEVEL."
  69. 177 PRINT"(0 TO 15.  PRESS RETURN FOR 12)."
  70. 178 PRINT:INPUTQ
  71. 180 J%=Q:GOSUB900:IFJ%=.THEN175
  72. 185 R=4:PRINT"ENTER RELEASE TIME."
  73. 187 PRINT"(0 TO 15.  PRESS RETURN FOR 4)."
  74. 188 PRINT:INPUTR
  75. 190 J%=R:GOSUB900:IFJ%=.THEN185
  76. 195 SR=16*Q+R
  77. 215 PRINT"[147]"
  78. 217 T=180:PRINT"ENTER SWEEP TIME IN MILLISECONDS,"
  79. 218 PRINT"FROM";T;"TO";20500;"[157]."
  80. 219 PRINT"(PRESS RETURN FOR MINIMUM.)"
  81. 220 PRINT:INPUTT
  82. 221 X=3.196*T-.5
  83. 222 IFX<570THENPRINT"TOO SHORT":GOTO217
  84. 225 IFX>65535THENPRINT"TOO LONG":GOTO217
  85. 227 X%=X/256:XL=X-256*X%
  86. 230 POKE56326,XL:POKE56327,X%
  87. 232 PRINT"[147]PRESS A TO START AND VIEW ATTACK PHASE."
  88. 235 PRINT"PRESS P FOR PREVIOUS MENU."
  89. 245 PRINT"WHILE WAVEFORM IS DISPLAYED,"
  90. 250 PRINT"PRESS R FOR RELEASE PHASE."
  91. 260 PRINT"PRESS A FOR ATTACK PHASE."
  92. 265 PRINT"PRESS P FOR SWEEP TIME PROMPT."
  93. 268 POKES+14,FL:POKES+15,F%
  94. 273 POKES+24,15:POKES+19,AD:POKES+20,SR
  95. 275 GETA$:IFA$="A"THEN290
  96. 280 IFA$="P"THEN36
  97. 285 GOTO275
  98. 290 POKE143,W
  99. 295 POKE155,PEEK(155)+1:SYS49161
  100. 300 GETA$:IFA$="A"THEN290
  101. 307 IFA$="R"THENPOKE143,W-1:GOTO295
  102. 308 IFA$="P"THEN315
  103. 310 GOTO300
  104. 315 POKEV+17,27:POKEV+24,20:PRINT"[147]";
  105. 320 POKES+18,W-1:GOTO215
  106. 500 PRINT"[147]THIS FUNCTION LETS YOU EXAMINE THE"
  107. 502 PRINT"PERFORMANCE OF POSITIONAL JOYSTICKS"
  108. 505 PRINT"(RESISTANCE TYPE), CONNECTED TO CONTROL"
  109. 507 PRINT"PORT 1 (THE ONE CLOSER TO THE FRONT OF"
  110. 510 PRINT"THE COMPUTER).  ALSO, THE AMPLITUDE OF"
  111. 512 PRINT"THE DISPLAY IS PROPORTIONAL TO THE"
  112. 515 PRINT"RESISTANCE OF A RESISTOR OR TRANSDUCER"
  113. 517 PRINT"CONNECTED BETWEEN PIN 7 (+ 5 V) AND PIN"
  114. 520 PRINT"9 (POT X) OR PIN 5 (POT Y).  THUS LOW"
  115. 522 PRINT"FREQUENCY PHENOMENA MAY BE OBSERVED."
  116. 525 PRINT"TO REVIEW RECORDS, EXIT AND RUN 1000."
  117. 527 PRINT"PRESS RETURN";
  118. 528 GETA$:IFA$=CHR$(13)THEN530
  119. 529 GOTO528
  120. 530 PRINT"[147]"
  121. 535 T=180:PRINT"ENTER SWEEP TIME IN MILLISECONDS,"
  122. 540 PRINT"FROM";T;"TO";20500;"[157]."
  123. 545 PRINT"(PRESS RETURN FOR MINIMUM.)"
  124. 547 PRINT:INPUTT
  125. 550 X=3.196*T-.5
  126. 552 IFX<570THENPRINT"TOO SHORT":GOTO535
  127. 555 IFX>65535THENPRINT"TOO LONG":GOTO535
  128. 557 X%=X/256:XL=X-256*X%
  129. 560 POKE56326,XL:POKE56327,X%
  130. 570 PRINT"[147]PRESS S TO START SWEEP."
  131. 580 PRINT"PRESS P FOR PREVIOUS MENU."
  132. 590 PRINT"WHILE WAVEFORM IS DISPLAYED,"
  133. 600 PRINT"PRESS S FOR ADDITIONAL SWEEPS."
  134. 610 PRINT"PRESS P FOR SWEEP TIME PROMPT."
  135. 620 GETA$:IFA$="S"THEN650
  136. 630 IFA$="P"THENPRINT"[147]":GOTO20
  137. 640 GOTO620
  138. 650 POKE155,PEEK(155)+1:SYS49161
  139. 660 GETA$:IFA$="S"THEN650
  140. 690 IFA$="P"THEN710
  141. 700 GOTO660
  142. 710 POKEV+17,27:POKEV+24,20
  143. 720 GOTO530
  144. 800 PRINT"[147]"
  145. 801 PRINT"ENTER DUTY CYCLE IN %."
  146. 802 PRINT"(PRESS RETURN FOR 50 %.)"
  147. 803 DD=50:PRINT:INPUTDD
  148. 805 IFDD<=0ORDD>=100THENPRINT"OUT OF RANGE":GOTO801
  149. 810 D=40.96*(100-DD)+.5:D%=D/256:DL=D-256*D%
  150. 830 POKES+16,DL:POKES+17,D%
  151. 890 RETURN
  152. 900 IFJ%<0ORJ%>15THENJ%=0:PRINT"OUT OF RANGE":RETURN
  153. 910 J%=1:RETURN
  154. 1000 V=53248:P=PEEK(155):IFP>76THENP=76
  155. 1005 POKE56326,128:POKE56327,2:POKE188,0
  156. 1010 PRINT"[147]";P;"RECORDS IN BUFFER"
  157. 1020 PRINT"ENTER RECORD # TO BE VIEWED (1 TO";P;")."
  158. 1030 N=.:PRINT:INPUTN:IFN>PTHENPRINT"OUT OF RANGE":GOTO1020
  159. 1032 IFN=.THENEND
  160. 1035 N=(N-1)*320+16384
  161. 1040 N%=N/256:NL=N-256*N%
  162. 1045 POKE251,NL:POKE252,N%
  163. 1050 PRINT"PRESS V TO VIEW RECORD."
  164. 1065 PRINT"WHILE RECORD IS BEING VIEWED,"
  165. 1070 PRINT"PRESS N FOR NEXT RECORD."
  166. 1075 GETA$:IFA$="V"THEN1090
  167. 1085 GOTO1075
  168. 1090 SYS49977
  169. 1100 GETA$:IFA$="N"THEN1140
  170. 1130 GOTO1100
  171. 1140 POKEV+17,27:POKEV+24,20:GOTO1010
  172. 2012 PRINT"[147]ONE MOMENT PLEASE"
  173. 2015 P=PEEK(45)+256*PEEK(46)-1
  174. 2020 IFPEEK(P)THENP=P-1:GOTO2020
  175. 2025 P=P-840:S=49152
  176. 2030 FORI=.TO840:POKES+I,PEEK(P+I):NEXT
  177. 2035 POKE2063,48:GOTO12
  178.